/**
 * JAVACC DEMO 1.0
 * 
 */
package com.apache.workday;

import com.apache.tools.StrUtil;

/**
 * description:  工作日接口
 *
 */
public class RulesWorkdayUtil {

	/**
	 * description:  工作日接口
	 * @param methodType 类型 current:当前是否为工作日;after:若干工作日之后的日期
	 * @param dataTime   待验证工作日
	 * @param dayNum     工作日数(可空)
	 * @throws Exception 
	 */
	public static String rulesWorkdays(String methodType, String dataTime, String dayNum) {
		if (StrUtil.isNull(methodType)) {
			return "false";
		} else {
			try {
				String timestr = dataTime;
				if ("current".equalsIgnoreCase(methodType)) {//当前是否为工作日
					boolean mark = WorkdayUtils.getInstance().isWorkday(timestr.replaceAll("-", ""));//工作日判断
					return mark + "";
				} else if ("after".equalsIgnoreCase(methodType)) {//after:若干工作日之后的日期
					int count = Integer.parseInt(StrUtil.doNull(dayNum, "-1"));
					String dataStr = WorkdayUtils.getInstance().afterWorkday(timestr, count);
					return dataStr;
				} else {//判断当前日期是否为工作日,并且返回其后指定天数的工作日
					int count = Integer.parseInt(StrUtil.doNull(dayNum, "1"));
					String dataStr = WorkdayUtils.getInstance().afterWorkday(timestr, count);
					boolean mark = WorkdayUtils.getInstance().isWorkday(timestr.replaceAll("-", ""));//工作日判断
					return mark + "," + dataStr;
				}
			} catch (Exception e) {
				System.out.print("执行方法[rulesWorkdays]出错：" + e.getMessage() + "；参数：[methodType=" + methodType
						+ ";dataTime=" + dataTime + ";dayNum=" + dayNum + "]");
				return "false";
			}
		}
	}
}
